package com.lyf.boot.modules.system.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lyf.boot.base.system.dao.BaseSysRoleDao;
import com.lyf.boot.core.model.OptionVo;
import com.lyf.boot.modules.system.entity.dto.SysRolePageDto;
import com.lyf.boot.modules.system.entity.vo.SysRoleVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author Luyufan
 * @date 2023/7/7 15:39
 */
@Repository
public interface SysRoleDao extends BaseSysRoleDao {

    /**
     * 分页查询角色
     * @author Luyufan
     * @date 2023/7/7 15:40
     * @param page
     * @param dto
     * @return Page<SysRoleVo>
     */
    Page<SysRoleVo> selectSysRolePage(Page<SysRoleVo> page, @Param("dto") SysRolePageDto dto);

    /**
     * 根据角色id查询角色信息
     *
     * @param roleIds
     * @return List<SysRoleVo>
     * @author Luyufan
     * @date 2023/8/14 10:16
     */
    List<SysRoleVo> selectRoleByIds(@Param("roleIds") List<Long> roleIds);

    /**
     * 查询所有角色
     * @author Luyufan
     * @date 2023/8/14 14:26
     * @param
     * @return List<OptionVo>
     */
    List<OptionVo> selectAllRole();

    /**
     * 查询系统角色详情
     * @author Luyufan
     * @date 2023/8/14 16:00
     * @param roleId
     * @return SysRoleVo
     */
    SysRoleVo selectSysRoleById(Long roleId);
}
